

General Type-2 Fuzzy Logic Systems

Queries about the software can be made to "karnik@sipi.usc.edu", but 
may take a long time to be answered.

Copyright (c) 1998 by the University of Southern California. All rights reserved.

This software is experimental in nature and is provided on an "as is" basis only. The University 
SPECIFICALLY DISCLAIMS ALL WARRANTIES INCLUDING, WITHOUT LIMITATION, 
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A 
PARTICULAR PURPOSE.

This software may be used for non-commercial purposes only, so long as this copyright notice is
reproduced with each such copy made.

The software in this folder focuses on the computations associated with general type-2 FLSs. 

The M-files that are in the folders "Operations," "Extension Principle," and "Plotting" are all keyed 
into a specific chapter of the book Uncertain Rule-Based Fuzzy Logic Systems: Introduction and 
New Directions, by Jerry M. Mendel, and published by Prentice-Hall, 2000. 

There are also some miscellaneous M-files. 


Description of M-files 


Here, we provide brief descriptions of the M-files that appear in this folder. For more help on any specific file, 
type "help (filename)" at MATLAB prompt.

I. Operations

					join.m: Function to compute the join of n type-1 fuzzy sets under minimum or product t-norms, 
using Theorem A-1.

					meet.m: Function to compute the meet of n type-1 fuzzy sets under minimum t-norm using 
Theorem A-2.

					negation.m: Function to compute the negation of a type-1 fuzzy set using Theorem A-3.

					gaussian_meet.m: Function to compute the Gaussian approximation in (A-10) and (A-11) 
to the meet of n Gaussian type-1 sets under product t-norm.

					gaussian_sum.m: Function to compute an affine combination of n Gaussian type-1 sets, as 
described in Example 7-4.

					weighted_avg.m: Function to extend the weighted average of crisp numbers to the case where 
all the quantities involved are general type-1 sets. It implements the generalized centroid in (9-11).

NOTE : Type-reduction calculations (see Chapter 9) can be represented as extended weighted 
average calculations; therefore, the function "weighted_average.m" can be used to perform 
type-reduction calculations for general type-2 FLS's. 


II. Extension Principle

					extend_binary.m: Function uses Zadeh's Extension Principle (Section 7.2) to extend a binary 
operation "op" to two type-1 fuzzy sets.

					extend_nary1.m: Function uses Zadeh's Extension Principle (Section 7.2) to extend an 
"n"-ary operation "op_n" to "n" type-1 fuzzy sets. 

					extend_nary2.m: Function uses Zadeh's Extension Principle (Section 7.2) to extend an 
"n"-ary operation "op_n" to "n" type-1 fuzzy sets. 


III. Plotting

		plot2d2.m: Two-dimensional pictorial representation for a type-2 set for which a principal 
membership function can be  defined. The secondary membership function corrresponding to every
domain point is assumed to increase from the lower MF to the principal membership function, and 
decrease from the principal membership function to the upper MF. This function shades the area 
between the principal membership function and the upper and lower MFs in such a way that the 
intensity of shading increases from the brightest at the lower MF to the darkest at the principal 
membership function and then decreases again to the brightest at the upper MF. See Fig. 3-4(a) 
for an example. 

IV. Miscellaneous

					mult.m: An example of a binary function "op", for use with "extend_binary.m".

					trimvec.m: This function trims a vector, i.e., sorts it and removes repeated elements. The 
vector "x1" is sorted and repeated elements in it are removed. Vectors "y1" and "y2" are just 
rearranged like "x1". The elements of "y1" and "y2" corresponding to the repeated elements of 
"x1" are either summed or only the maximum of them is kept, depending upon the value of the 
flag "max_or_sum".

     wt_avg_op.m: Weighted average function to use with "extend_nary1.m" or "extend_nary2.m". 
Computes the weighted average (w_1*z_1 + ... + w_M*z_M)/(w_1 + ... + w_M).
